
package com.sailing.lianxi.thread.pool;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import com.sailing.lianxi.thread.ThreadLog;

/**
 * 
 * 类名称：ScheduledThreadPoolTest
 * 类描述：scheduledThreadPoo线程池测试
 * 创建一个定长线程池，支持定时及周期性任务执行。延迟执行示例代码如下：
 * 表示延迟3秒执行。
 * 创建人：wanggang
 * 创建时间：2018年5月7日 下午4:09:53
 * 修改人：wanggang
 * 修改时间：2018年5月7日 下午4:09:53
 * 修改备注：
 */
public class ScheduledThreadPoolTest {

    public static void t1(){
        int threadNum = Runtime.getRuntime().availableProcessors();//线程核数
        System.out.println("threadNum="+threadNum);
         ScheduledExecutorService pool = Executors.newScheduledThreadPool(threadNum);
        for(int i=0;i<5;i++){
            //线程使用外部变量需要加final
            final int index = i;
            pool.schedule(new Runnable() {
                public void run() {
                    long start = ThreadLog.startPrint();
                }
            },3,TimeUnit.SECONDS);
        }
    }
    
    public static void main(String[] args) {
        t1();
    }
}

